#include <iostream>
#include <string>
#include <vector>
#include <sw/redis++/redis++.h>

using namespace std;

void test1(sw::redis::Redis& redis)
{
    redis.flushall();
    redis.set("k1", "111");
    redis.set("k2", "222");
    auto ret = redis.exists("k1");
    cout << ret << endl;

    ret = redis.exists("k2");
    cout << ret << endl;

    ret = redis.exists({"k1", "k2", "k3"});
    cout << ret << endl;
}

void test2(sw::redis::Redis& redis)
{
    redis.flushall();
    redis.set("k1", "111");

    auto ret = redis.exists("k1");
    cout << ret << endl;

    ret = redis.del("k1");
    cout << ret << endl;

    ret = redis.exists("k1");
    cout << ret << endl;
}

void test3(sw::redis::Redis& redis)
{
    redis.flushall();
    redis.set("k1", "111");
    redis.set("k2", "222");
    redis.set("k3", "333");
    vector<string> v;
    auto it = back_inserter(v);
    redis.keys("*", it);
    for(auto& e : v)
    {
        cout << e << endl;
    }
}

int main()
{
    sw::redis::Redis redis("tcp://127.0.0.1:6379");
    // test1(redis);
    // test2(redis);
    test3(redis);

    return 0;
}